You should have pawn knowledge since you'll have to insert a few forwards in the code of your main plugin to use it.

Here are forwards that you need to register and call from the main plugin (id - player identifier):

fwPubStarted(id) - call when player starts the timer

fwPubRejected(id) - call when gocheck done or user disconnects without savepos

fwPubPaused(id) - call when user paused timer and didn't use gochecks

fwPubUnpaused(id) - call when user unpaused timer and didn't use gochecks

fwPubFinished(id, Float:flTime) - call when user finished the map without gochecks; flTime should be zero if this is not top1 and equal to pass time in case of top1

This implies that savepos puts user into pause, and after connecting server loads saved savepos and puts user into pause (this is how we do it on kz-rush servers).